#include <QCoreApplication>
#include<QFile>
#include<QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    //先定义一个数组
    qint32 qnumber[3]={1,2,3};

    //将qnumber数据以二进制方式存储在字节数组中
    QByteArray array;
    array.resize(sizeof(qnumber));

    for(int i=0;i<3;i++)
    {
        //for循环利用指针将每个整数复制到字符数组里面
        memcpy(array.data()+i*sizeof(qint32),&(qnumber[i]),sizeof(qint32));

    }

    //将bytearray字节数组存储在对应文件当中QFileBiny.dat当中
    QFile file("d:/binary.dat");
    if(file.open(QIODevice::WriteOnly))
    {
        qDebug()<<"恭喜你，打开文件成功";
    }
    else
    {
        qDebug()<<"打开文件夹失败，请重新检查";
    }
    file.write(array);
    file.close();

    //先打开，在读取
    file.open(QIODevice::ReadOnly);
    QByteArray array1;
    array1=file.readAll();
    //输出读取的二进制文件
    qDebug()<<"byteArray:"<<array1;

    //将二进制数据转化为整数
    char *ctemp=array.data();
    for(int j=0;j<3;j++)
    {
       qint32 data=*(qint32*)ctemp;
       qDebug()<<data;
       ctemp=ctemp+sizeof(qint32);
    }

    file.close();

    return a.exec();
}
